Dynamically controlled routing using dynamic management of intra-link traffic to virtual destination nodes

ABSTRACT

A DCR telecommunications network comprises a plurality of network switching elements interconnected by circuit groups for carrying calls, and a network processor communicating with the network elements. If it cannot use a direct route to a neighbouring network element, the switching element may access a routing table containing alternate routes which are updated periodically by the network controller. The network functions as a group of nodes interconnected by links. Routing takes place on a node-to-node basis. At least one of the nodes is a virtual destination node, vis. a logical entity corresponding to a group of two or more components which are network elements. A link to the virtual destination node is a set of circuit groups connecting to its components. Final destinations outside the network can be associated with the virtual destination node as an intermediate destination node, thereby allowing a call to exit the DCR network via any of the components rather than via only one Unique Exit Gateway. Where a link to the virtual destination node comprises a plurality of circuit groups, the associated switching element stores proportions for those circuit groups. When attempting to route a call via the link to the virtual destination node, the switching element attempts the circuit groups in dependence upon the proportions. The proportions may be fixed, i.e. computed off-line and stored. Alternatively, the proportions may be updated by the network processor based upon call completion information it receives periodically from the switching elements.

This application is a 371 of PCT/CA95/00600 filed Oct. 26, 1995 which isa c-i-p of application Ser. No. 08/329,716 filed Oct. 26, 1994 now U.S.Pat. No. 5,526,414, which are assigned to the same assignees as theinstant application.

TECHNICAL FIELD

This invention relates to telecommunications networks and, inparticular, to telephone networks employing dynamically controlledrouting of calls.

BACKGROUND ART

For many years, the standard call routing method used by most NorthAmerican telephone companies has been fixed hierarchical routing (FHR).In networks employing FHR, calls are sent from their origin network nodeto their destination network node along routes comprising apredetermined sequence of connection paths using circuit groups (truckgroups) between successive nodes. At an origin node, a call is offeredfirst to a direct circuit group. If all direct circuits are busy, thecall is routed via a transit node. Should this alterative route prove tobe busy as well, the network continues to search for a path, selectingalternative routes in a fixed, predetermined sequence from themost-direct to the least-direct route. Finally, if no connecting routecan be found, the network blocks the call. The predetermined sequence ofalternative routes is programmed into the network equipment and is"fixed" in the sense that any changes require human intervention.

While FHR remains the most prevalent routing method in North America, anumber of developments, for example new services and deregulation, haveled suppliers of telephone services to seek a more flexible alternative.As a result, in recent years, networks employing dynamic trafficmanagement have been introduced, particularly so-called DynamicallyControlled Routing (DCR) networks which make use of the capabilities ofmodern stored program control switches with high-availability, real-timedata processing abilities and the "intelligence" of a computer calledthe network processor (NP) to monitor the network and change the routingpatterns periodically, in "near real-time". A general discussion of FHRand DCR networks appears in an article entitled "Dynamically ControlledRouting" by Hugh Cameron and Serge Hurtubise, in Telesis, Vol 1, 1986,published by Bell-Northern Research. An early version of dynamicallycontrolled routing is disclosed in U.S. Pat. No. 4,284,852 issued August1981.

DCR yields significant advantages in network control. It ensures theefficiency of switching equipment by preventing excessive traffic fromreaching the machine; inhibits the spread of switching congestion;maintains circuit group efficiency by reducing the number of links percall when facilities are congested; and makes full use of available idlefacilities. Of particular advantage is the DCR system's capability ofcoping with failure of a switch. The DCR network processor can downloadrouting instructions for neighbouring switches enabling them to useavailable links to carry transit traffic around the failed switch. Thesefeatures of DCR greatly improve the percentage of calls which aresuccessfully routed through the network. Even so, increasing competitionamongst suppliers of telephone services has motivated them to find waysof using the network equipment more efficiently to reduce costs andimprove the completion rate of traffic handled by their networks.

One aspect susceptible of improvement is the procedure governing the wayin which a call exits the DCR network for a final destination outsidethe DCR network, possibly in another network. Known DCR networks use aprocedure inherited from FHR known as Unique Exit Gateway. Since thereare many different destinations, most of them outside the DCR network,each final destination is associated with an intermediate destinationnode within the DCR network. Calls in the DCR network which are destinedfor a particular final destination are then routed to the associatedintermediate destination node. From the intermediate destination node,the calls are routed to the final destination, possible using othernetworks than the DCR network. If the intermediate destination node isaffected by congestion or a failure, all calls associated with thatintermediate destination node will be affected. Although the networkcould be reconfigured to allow other networks elements to route calls tothe final destination, the current routing scheme could not efficientlyuse them as alternative exit points. This detracts from the improvementsin survivability that can be achieved by DCR networks in case ofequipment failures.

DISCLOSURE OF INVENTION

According to one aspect of the present invention, there is provided atelecommunications network comprising:

a plurality of network nodes and links, the network nodes comprisingorigin nodes, each comprising a switching element capable of routingcalls within the network, and destination nodes serving as destinationsfor such calls, some of said network nodes being transit nodes, eachtransit node being both a destination node and an origin node;

each link interconnecting directly an origin node and a destination nodeand comprising one or more circuit groups,

each of the switching elements having storage means for routinginformation, the routing information comprising

(i) a listing of destination nodes;

(ii) associated with each destination node, a corresponding link, wheresuch a link exists;

(iii) for each link, a corresponding group of one or more circuit groupsoutgoing from the switching element; and

(iv) associated with each destination node, a list of zero or moretransit nodes;

each switching element comprising means for translating address data ofa call to determine a destination node for the call and

(i) wherein a link to the destination node exists, attempting to routethe call to the destination node via a circuit group that is in thelink;

(ii) wherein a link to the destination node is not available, accessingits routing information to select a transit node and attempting to routethe call via a circuit group that is in the link to the transit node;

wherein said listing of destination nodes of at least one of saidswitching elements, said one of said switching elements being one ofsaid origin nodes, comprises a virtual destination node representing agroup of two or more components, each component being a distinctphysical network element, there being one or more distinct circuitgroups associated with each component, and the link from said one ofsaid origin nodes to the virtual destination node is a set of circuitgroups from the switching element at that one of said origin nodes tothe two or more components of the virtual destination mode; said linkfrom said one of said origin nodes to the virtual destination nodecomprises a plurality of circuit groups, the storage means of said oneof said switching elements includes a specified proportion for each ofthose circuit groups and, when attempting to route a call via said linkfrom said one of said origin nodes to the virtual destination node, saidone of said switching elements attempts the circuit groups in dependenceupon the specified proportions; and said one of said switching elementsis arranged, in attempting to route a call via said link to the virtualdestination node to:

(i) determine the set S of all circuit groups with a non-zero proportionin said plurality of circuit groups;

(ii) determine whether or not the set S is empty;

(iii) cause the call to overflow if the set is empty;

(iv) if the set is not empty, make a weighted ransom selection of one ofthe circuit groups of the set S, and attempt to route the call via suchcircuit group;

(v) if the selected circuit group does not have a circuit idle, removethe selected circuit group from the set S; and

(vi) repeat steps (ii) through (v) until the call is carried or allcircuit groups in the set have been exhausted and the call overflowed.

The network may further comprise network processor means communicatingwith the switching elements via a data communications system, suchnetwork processor means computing alternate routing information independence upon the information communicated thereto by the switchingelements and periodically updating the information identifying transitnodes.

The network processor means may comprise a common network processorcoupled to all of said switching elements by the data communicationssystem. Periodically, each of said switching elements communicates tosuch common network processor information about network conditions localto the switching element and receives from the network processoralternate routing information including recommended transit nodes. Thenetwork processor computes the alternate routing information for eachswitching element in dependence upon the information communicatedthereto by all of the switching elements, and updates transit noderecommendations on the basis of information communicated to the networkprocessor by the switching elements.

Preferably, when computing alternate route recommendations, the networkprocessor takes into account full availability of each of the links,including links composed of a plurality of circuit groups.

Alternatively, the network processor means may comprise a plurality ofnetwork processors, each switching element being coupled to at least onenetwork processor.

The proportions may be fixed, i.e. computed off-line and stored in thestorage means under the control of a human operator. Alternatively, theproportions may be updated automatically.

In one embodiment in which the proportions are updated automatically,one or more of the components of a virtual destination node communicatesto a central processor, conveniently the network processor, informationrelated to the ability of that component of the virtual destination nodeto complete calls to a final destination served by the virtualdestination node. The central processor uses this information, and otherinformation such as, for example, number of idle circuit groups in allof the network, to compute the proportions and supplies thenewly-computed proportions to the appropriates switching elements. Thelatter employ the newly-received proportions for subsequent routing ofcalls, i.e. until the next update.

Each component of the virtual destination node may itself act as a node.In such a case, a switching element which represents both an individualnode and a component of a virtual destination node, when communicatingwith the central processor, will communicate status information onbehalf of the individual node and, distinct therefrom, information onbehalf of the virtual destination node.

In an alternative embodiment in which the proportions are updatedautomatically, said switching element at said one of said origin nodeshas means for monitoring completion rates for calls to the virtualdestination node, particularly failure to complete a call for reasonsunder the direct or indirect control of, and remediable by, the DCRnetwork, and means for updating said proportions in dependencethereupon.

Thus, the switching element may monitor overflow calls and existingsignalling messages (standard CCS7 messages), and process this dataitself. The signalling messages that can be monitored by the switchesfor this purpose conveniently are so-called Release With Cause (RWC)messages which are sent whenever a call cannot be completed.

According to a further aspect of the invention, there is provided amethod of routing calls in a telecommunications network, such networkcomprising:

a plurality of network nodes and links, the network nodes comprisingorigin nodes, each comprising a switching element capable of routingcalls within the network, and destination nodes serving as destinationsfor such calls, some of said network nodes being transit nodes, eachtransit node being both a destination node and an origin node;

each link interconnecting directly an origin node and a destination nodeand comprising one or more circuit groups,

each of the switching elements having storage means for routinginformation, the routing information comprising

(i) a listing of destination nodes;

(ii) associated with each destination node, a corresponding link, wheresuch a link exists;

(iii) for each link, a corresponding group of one or more circuit groupsoutgoing from the switching element; and

(iv) associated with each destination node, a list of zero or moretransit nodes;

each switching element comprising means for translating address data ofa call to determine a destination node for the call;

said link from said one of said origin nodes to the virtual destinationnode comprising a plurality of circuit groups, and the storage means ofsaid one of said switching elements including a specified proportion foreach of those circuit groups;

the method comprising the steps of, at each switching element at anorigin node:

(i) where a link to the destination node exists, attempting to route thecall to the destination node via a circuit group that is in the link;

(ii) where a link to the destination node is not available, accessingthe routing information to select a transit node and attempting to routethe call via a circuit group that is in the link to the transit node;

comprising the steps of: including in the listing of destination nodesof at least one of said switching elements, said one of said switchingelements being at one of said origin nodes, a virtual destination noderepresenting a group of two or more components, each component being adistinct physical network element, there being one or more distinctcircuit groups associated with each component; the link from said one ofsaid origin nodes to the virtual destination node being a set of circuitgroups from said one of said switching elements to the two or morecomponents of the virtual destination node; and, when attempting toroute a call to said virtual destination node via the link from said oneof said origin nodes to the virtual destination node, attempting toroute the call using one of said set of circuit groups, wherein, whenattempting to route a call via said link from said one of said originnodes to the virtual destination node, said one of said switchingelements attempts the circuit groups in dependence upon the specifiedproportions, and wherein, in attempting to route a call via said link tothe virtual destination node, said one of said switching elements

(i) determines the set S of all circuit groups with a non-zeroproportion in said plurality of circuit groups;

(ii) determines whether or not the set S is empty;

(iii) causes the call to overflow if the set is empty;

(iv) if the set is not empty, makes a weighted random selection of oneof the circuit groups of the set S, and attempt to route the call viasuch circuit group;

(v) if the selected circuit group does not have a circuit idle, removethe selected circuit group from the set S; and

(vi) repeats steps (ii) through (v) until the call is carried or allcircuit groups in the set have been exhausted and the call overflowed.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription, taken in conjunction with the accompanying drawings, ofpreferred embodiments of the invention, which are described by way ofexample only.

FIG. 1 is a simplified diagram of a dynamically controlled routing (DCR)network and a second (terminating) network according to the prior art;

FIG. 2 represents switches and circuit groups of a DCR network employinga virtual destination node according to one embodiment of the presentinvention;

FIG. 3 illustrates represents nodes and links of the DCR network of FIG.2;

FIG. 4 is a simplified flowchart of an algorithm for performing calldistribution within a link to the virtual destination node;

FIG. 5 illustrates a second embodiment of the invention in which thenetwork processor controls traffic allocation between components of avirtual destination node; and

FIG. 6 illustrates a third embodiment of the invention in which trafficallocation between components of a virtual destination node iscontrolled by the switching elements.

BEST MODES FOR CARRYING OUT THE INVENTION

1. The DCR Network (without virtual destination nodes)

Before the preferred embodiments of the invention are described, asimplified DCR network, and its operation, will be described brieflywith reference to FIG. 1 in order to facilitate comprehension of how andwhere the virtual destination nodes of the present invention are to beimplemented. For purposes of illustration only, the DCR network 31illustrated in FIG. 1 is shown as comprising five circuit switchesinterconnected by sets of circuit groups. Lower case letters o, t, a, band c have been used to designate the switches and the circuit groupsare identified by pairs of letters o-t o-a, o-b, o-c, t-a, t-b, t-c anda-b, representing the two switches they are connecting.

It should be noted that a circuit group may be two-way. In the DCRnetwork 31 all circuit groups are two-way. For example, circuit groupo-t is used from o to t and from t to o.

A data communications network 24 connects a network processor 25 to theswitches o, t, c, a and b by way of data lines 26, 27, 28, 29 and 30,respectively. The data communications network may comprise a packetswitched network or dedicated lines of known type which will not bedescribed in detail here.

Each of the DCR switches o, t, a, b and c will have memory for storinginformation in the form of tables, including translation and routingtables, which the switch will use when routing a call, as will bedescribed later. The routing information can be updated manually, eitherby way of a user interface at each switch or at a central location. Itcan also be updated automatically as will be described later.

Even though the DCR alternate route selection process is centralized,routing is still performed locally by the switches. Therefore, a meansof representing the network that can be used both locally by theswitches and globally by the NP 25 needs to be defined. For this purposethe DCR system uses a model of the network that describes the network asa set of nodes, links and origin-destination (O-D) pairs.

Nodes represent origins and destinations known to the DCR networkelements and to the NP 25. Routing always proceeds from an origin nodeto a destination node. Generally speaking, all destination nodes areknown to all origin nodes, because DCR has a global view of the network.

A link is the set of DCR circuit groups from a node to another node.Links are directional, so the link A-B (from node A to node B) and thelink B-A (from node B to node A) are different, even though they mightuse the same physical circuit groups. In the DCR network 31 shown inFIG. 1, each of the switches o, t, a, b and c would typically act as anetwork node and each of the two-way circuit groups o-t, o-a, o-b, o-c,t-a, t-b, t-c and a-b would be part of two links (one for eachdirection), but it should be noted that such correspondence is notnecessarily the case in all embodiments of the invention.

Participating switches o, t, a, b and c within the DCR network 31 reportto the network processor 25 periodically, for example every ten seconds,with information concerning the status of their associated circuitgroups and traffic volumes. Typically, each switch will monitor andreport the occupancy of its outgoing circuit groups, and particulars ofthe calls processed during the previous 10 second period, such as howmany calls overflowed the direct link.

The network processor 25 processes the information from all of thecommunicating switches o, t, a, b and c to locate the capacity availablefor supporting additional calls and to determine, for each node pair,the best alternate route for calls which cannot be routed via the directroute. These alternate routes are communicated to the respectiveswitches as recommendations. The switches o, t, a, b and c update theirrouting tables accordingly. This update cycle is repeated every tenseconds.

These dynamic alternate routes generally are only two links long withone intervening transit node. In practice, the recommendation from theNP 25 identifies the transit node for each destination node listed atthat switch. The selection of the transit node is based upon theidleness of the two links of the resulting route. The NP 25 evaluatesthe idle capacity of all potential routes, and selects the route withthe maximum idle capacity as the recommendation. The idle capacity of analternate route is considered to be the minimum of the capacity of itstwo links. This evaluation also takes into account the use of each linkby its direct traffic. A protective allowance for direct traffic isconsidered in the evaluation of the idle capacity. This enablesalternate-routed calls to be deflected from routes likely to be requiredfor supporting direct-routed calls. Hence, when a link has only a fewidle circuits available, it will not be used to carry overflow callsfrom other nodes so as to prevent overflow calls from cascading throughthe network and blocking direct traffic in one link after another.

The whole process, from communication of measurements to the networkprocessor 25 to implementation of the recommendations, occurs within theupdate cycle, and repeats every update cycle to maintain the alternateroutes adapted to current networks conditions.

In DCR networks, routing is node-and-link based, rather than switch andcircuit group based. Routing decisions at the switches depend upon theorigin node and the destination node. When routing a call, each of theDCR switches o, t, a, b and c will use various tables, includingtranslation and routing tables, to determine from the call thecorresponding destination node and outgoing circuit groups to attempt inorder to dispose of the call. Thus, when a switch receives a call itwill first try to send it to the destination node by the direct route,if it exists. If the call is unable to take the direct route, the switchwill then refer to its routing table for the best available route usinga transit node and two links as per the most recent update. Generally,the alternative routes will only comprise two links. Alternative routeswhich comprise three links are usually not permitted. However, if thereis neither a direct route nor a two-link route between the node handlingthe call and the destination node, the call is routed via a link to atransit node closer to its destination node.

For example, if a call originates in the DCR network 31 at switch o andis to be routed to switch b, switch o will use its translation androuting tables to determine that the direct route is via circuit groupo-b and attempt to route the call by that circuit group. If the attemptfails, the switch o will select the recommended alternate route from itsrouting tables and attempt that. (The alternate route would also beselected if a direct link did not exist). Although the DCR network 31has two such alternate routes between switch o and switch b, only thatwhich has been recommended by the network processor 25 will beattempted, for example via circuit group o-t, switch t and circuit groupt-a.

Most final destinations would, in fact, be outside the DCR network 31.Thus, in FIG. 1, the boundary of the DCR network 31 is represented by anellipse 31'. The boundary of a separate network 32 is illustrated bychain-link ellipse 32'. This separate network need not be a DCR networkbut could, for example, be an FHR network. It will be seen that switchesa, b and c are common to both the DCR network 31 and the separatenetwork 32. Switches a, b and c are shown associated, as by lines 34. 35and 36, respectively, with final destinations within the 514 NumberingPlan Area. Likewise, final destinations within the 819 Numbering PlanArea are shown associated with switch t. These final destinations areoutside the DCR network 31. Each such external final destination isassociated with an intermediate destination node within the DCR network31. A call is not allowed to exit from the DCR network via a node whichis not its intermediate destination node. All other destinations handledby the network must also be assigned to some specific destination node.

Thus, in FIG. 1, a call originating from the DCR network at switch owith a final destination 514 254 1111 would be routed to switch a by theDCR network. From there, network 32, now the terminating network, wouldattempt to route the call to its final destination. While network 32might, if reconfigured, be capable of routing calls from switch b tothat final destination, it is not given an opportunity to do so becausethe call to final destination 514 254 1111 is not allowed to exit theDCR network via switch b. The DCR network 31 might use switch b as atransit, e.g. o→b→a, but the call may only exit via its designatedintermediate destination node which in this case represents switch a.

It will be appreciated that the intermediate destination node iscritical and congestion or failure at its switch would result in failureto complete the call. Clearly, this detracts from the improvements incall completion rate and survivability attained by the DCR network 31.The present invention addresses the problem by means of virtualdestination nodes.

2. DCR network with virtual destination nodes

A specific embodiment of the present invention will now be describedwith reference to FIGS. 2 and 3 and the flowchart of FIG. 4.Comprehension of the invention will be facilitated by recognizing thatthe DCR network comprises a physical network of switches andinterconnecting circuit groups; and a logical network of nodes andinterconnecting-network links; and there is not necessarily one-to-onecorrespondence between physical switches and network nodes or betweencircuit groups and network links. The distinction can be seen from FIGS.2 and 3, which illustrate, diagrammatically, a DCR network 31A employinga virtual destination node V according to the present invention. FIG. 2illustrates the physical network of switches and interconnecting circuitgroups whereas FIG. 3 illustrates network nodes and links. The use ofthe suffix A indicates that the DCR network 31A corresponds, but is notidentical, to DCR network 31 of FIG. 1. While the DCR network of FIGS. 2and 3 is physically similar to that shown in FIG. 1, the operationdiffers, as does the information stored at, and transmitted between, theswitching elements and the NP.

2.1 Virtual destination nodes

In DCR networks embodying the present invention, nodes are origins anddestinations known to the DCR network elements and to the NP 25A. Nodescan play two different roles in the network:

Origin node: a physical entity that represents a switch that can routecalls within the network. Each origin node must represent a differentswitch.

Destination node: a logical entity that represents a destination for DCRtraffic. Most of the time, a destination node represents a singleswitch. However, it may also represent a group of two or more switches.

While some nodes are transit nodes which are both origin nodes anddestination nodes, a virtual destination node can only be a destinationnode. A virtual destination node represents any group of one or morephysical network elements. The elements of the group are called"components". The routing to a virtual destination node depends on itsentire group of components rather than on a single component.

A link from an origin node X to a destination node Y is composed of thecircuit groups from X to Y. Therefore, if Y is a virtual destinationnode, the DCR link X-Y is composed of the circuit groups from X to eachof the components of virtual destination node Y. There is, however, oneexception: there is no link from X to Y if Y can be reached from Xwithout using any circuit group, i.e. if X and Y are served by at leastone common physical element.

Furthermore, virtual destination nodes are not origin nodes and do nothave outgoing links. A virtual destination node does not need tocommunicate with the NP 25A and is used only as a destination node.

In FIG. 2, virtual destination node V is represented by an ellipse Varound switches a, b and c, which are components of the virtualdestination node. Each of the switches a, b and c continues to be a nodein its own right, so the DCR network 31A, represented as nodes andlinks, is as shown in FIG. 3. The nodes are designated by upper caseletters and the links by pairs of upper case letters. The virtualdestination node is created by programming the network processor 25Awith information as to the components which correspond to the virtualdestination node and each set of circuit groups which comprises a linkto it. In addition, the other switches in the DCR network, i.e. whichare origin node switches not associated with the components of thevirtual destination node, are apprised of the existence of the virtualdestination node and its definition, i.e. their routing tables includeparticulars for the virtual destination node along with those of othernodes. They are programmed to route a call to any of the components inthe group if the call is destined for the virtual destination node.

Referring to FIGS. 2 and 3, the DCR network 31A comprises six nodes A,B, C, O, T, and V. Nodes A, B, C, O, and T represent one switch each(switches a, b, c, o, and t respectively). Node V is a virtualdestination node. It has three components, which are the switches a, b,and c, that handle calls to subscribers in area code 514. Switches a, band c may still be used for other functions.

The same physical element can belong to more than one node. Therefore,the creation of a virtual destination node does not force other nodes tobe eliminated, modified or created. Thus, switch a belongs both to nodeA and to node V, switch b belongs to nodes B and V, and switch c belongto nodes C and V. Conversely, a switch does not need to act as a node tobe included in a virtual destination node.

In the DCR network 31A, there are 18 links as shown in FIG. 3. Sixteenof them are composed of only one circuit group. The link O-V is composedof the three circuit groups o-a, o-b and o-c; and the link T-V iscomposed of the three circuit groups t-a, t-b and t-c. There are no A-V,B-V, or C-V links because a, b, and c are associated with components ofV. There are also no links from V, because it is a virtual destinationnode.

The same circuit group can belong to more than one link. For example,circuit group o-a belongs to the three links A-O, O-A, and O-V.

Each call is routed logically by the usual DCR algorithm, i.e. thedirect link first if it exists and, if necessary and available, onetwo-link alternate route.

In the example, a call from O to V would attempt the link O-V, andpossibly the two-link alternate route O-T-V. A call from B to T wouldattempt the link B-T, and possibly one of the two-link alternate routesB-A-T or B-O-T.

Whereas previously, in the DCR network 31 of FIG. 1, the finaldestinations for calls in area code 514 were in three groups associatedwith the three switches a, b and c, respectively, as their intermediatedestination nodes, the network 31A of FIGS. 2 and 3 has all calls toarea code 514 associated with the virtual destination node V instead.Thus, the virtual destination node V enables the use of a group ofswitches a, b, c (rather than a single switch) as an intermediatedestination node. The switches in the group can then be usedinterchangeably as exit points for the final destination.

2.2 Intra-link traffic distribution algorithm using "fixed" proportions

As mentioned, in the DCR network, routing is node and link based, asopposed to switch and circuit group based. The links O-V and T-V tovirtual destination node V are each composed of more than one circuitgroup, so the switch, o or t as the case may be, must determine theorder in which these circuit groups should be attempted when thecorresponding link has to be attempted.

The intra-link traffic distribution algorithm is used by the switch'sprocessor and takes as parameters the current respective proportions forthe circuit groups in the link to a virtual destination node anddistributes the calls on these circuit groups randomly according to thespecified proportions. The algorithm is represented by the flowchart ofFIG. 4. Briefly, in step 41 and decision box 42, the switch determineswhether or not S, the set of all circuit groups within the link with anon-zero proportion is empty. (If the current proportion of a circuitgroup is zero, for example because of temporary network managementcontrols, it is excluded from consideration). If the set S is empty,because no circuits are available in circuit groups with non-zeroproportions, the call is treated as overflow. If the set is not empty,the switch selects a circuit group at random according to theproportions set out in the table (step 43) and attempts to route thecall via that circuit group (step 44). If an idle circuit is found,(decision box 45), the call is carried. If no idle circuit is found, instep 46 switch removes the selected circuit group from the set S andreturns via loop 47 to decision step 42. The cycle repeats until thecall is carried or all circuit groups in the set S have been exhaustedand the call overflowed.

When selecting a circuit group at random, the probability of selecting agiven circuit group is always proportional to its specified proportion.For example, consider a link composed of three distinct circuit groupsnamed o-a, o-b, and o-c. Assume that the proportions 50%, 30%, and 20%are specified for o-a, o-b, and o-c, respectively. When the link has tobe attempted, the first circuit group attempted may be o-a, o-b, or o-cwith probabilities 1/2, 3/10, and 1/5, respectively (proportional {andequal in this case} to 50%, 30%, and 20%). If o-a is selected first andanother circuit group is required, the next selected circuit group maybe o-b or o-c with probabilities 3/5 and 2/5 respectively. If o-b isthen selected and yet another circuit group is required, the nextselected circuit group will be o-c with probability 1. If still anothercircuit group is needed, the call overflows the link since there are nomore choices available.

Table I below summarizes how the calls are spread in the above example:

                  TABLE I                                                         ______________________________________                                        DISTRIBUTION OF CALLS                                                         (WHEN THE DESIRED PROPORTIONS ARE 50%-30%-20%)                                Order of Use of Circuit Groups                                                                  Proportion of Calls                                         ______________________________________                                        o-a,o-b,o-c                                                                                      ##STR1##                                                   o-b,o-a,o-c                                                                                      ##STR2##                                                   o-a,o-c,o-b                                                                                      ##STR3##                                                   o-c,o-a,o-b                                                                                      ##STR4##                                                   o-b,o-c,o-a                                                                                      ##STR5##                                                   o-c,o-b,o-a                                                                                      ##STR6##                                                   ______________________________________                                    

This intra-link traffic distribution algorithm has no memory. Each timethe link is attempted, all circuit groups (with non-zero proportion) canbe attempted, and the algorithm does not take into account choices ofcircuit groups made in previous link attempts. Other trafficdistribution algorithms can be devised to distribute calls according tothe proportions. For example "round robin" techniques could be used.

2.3 Routing a call

An example of how a call is routed will now be described with referenceto FIGS. 2 and 3 and Table II below. As mentioned previously, eachswitch that acts as an origin node keeps information about nodes andlinks of the DCR network 31A in special tables which are needed toimplement DCR. Creation of the virtual destination node V requireschanges to translation and routing tables to enable the switch totranslate correctly address data of the call to identify destinationnode V and to the main DCR table which lists all nodes with thecorresponding outgoing link and current alternate route recommendationfor overflowing calls, specifically the identification of thedirectly-linked node to be used as a transit. Table II is such a tablefor the switch at node O.

                  TABLE II                                                        ______________________________________                                        ROUTING TABLE AT SWITCH o                                                                   Link Definition                                                 Destination                                                                           Current     Circuit   Circuit Associated                              Node Name                                                                             Recommendation                                                                            Group Index                                                                             Group Name                                                                            Proportion                              ______________________________________                                        A       B           1         o-a     100%                                    B       A           1         o-b     100%                                    C       T           1         o-c     100%                                    T       C           1         o-t     100%                                    V       T           1         o-a     50%                                                         2         o-b     30%                                                         3         o-c     20%                                     ______________________________________                                    

Consider a call originating at node O and destined for final destination514-555-5490. Switch o translates this number into the associatedintermediate destination node, which is virtual destination node V. Itthen uses DCR to route the call to virtual destination node V. The firststep is to attempt the direct link to V. To do this, the switch oaccesses routing table II, searches for node V, and then attempts tocarry the call on the associated link O-V by executing the intra-linkdistribution algorithm described above. This link O-V contains thecircuit groups o-a, o-b, and o-c. If the call overflows the direct linkO-V (i.e. none of its circuit groups are available), the switch refersto the routing table for the current NP recommendation for V, which is Tin this example, and then has to attempt the link to the recommendedtransit node T. To do this, the switch o accesses the routing table IIagain, searches for node T, and then attempts to carry the call on theassociated link O-T using circuit group o-t by executing the intra-linkdistribution algorithm of the preceding section. If the call overflowsthis link, it overflows the DCR network 31A and receives the appropriatetreatment.

If the call gets to the transit switch t, the number associated with thedestination is once again translated by the switch t into the sameintermediate destination node, which is V. Switch t recognizes that itis being used as a transit or tandem node because the call is incomingfrom a DCR switch (this is done by accessing another DCR table).Consequently, switch t may only attempt the direct link to virtualdestination node V. To do this, the switch t accesses the main table,searches for node V, and then attempts to carry the call on theassociated link T-V by executing the intra-link distribution algorithmas described above. This link T-V contains the circuit groups t-a, t-b,and t-c, but proportions at T need not be the same as those at O. If thecall overflows this link, it overflows the DCR network and receives theappropriate treatment.

If the call gets to a, b, or c, it has reached its intermediatedestination node, i.e. virtual destination node V, is recognized as suchby a, b, or c during the translation process, and exits the DCR network31A. No DCR routing will occur at a, b, or c for calls to virtualdestination node V. In fact, nodes A, B, and C do not know node V existsas it is not entered in the main DCR tables of their switches a, b andc, respectively.

2.4 Status reports

As mentioned previously, each of the DCR switches a, b, c, o and tmonitors the occupancy of the circuit groups associated with it. Whenreporting to the NP 25A, it reports the status of its outgoing links,including the number of idle circuits on its circuit groups and thetotal number of direct calls that overflowed the link during the periodsince the last update. The direct calls that overflowed the link includeonly the calls that overflowed all circuit groups of the link, asindicated in the intra-link traffic distribution algorithm describedwith reference to FIG. 4.

2.5 Protective allowance and safe idle circuits

In DCR networks, circuit groups can carry bath direct-routed traffic andalternate-routed traffic. When a link nears saturation, it is preferableto discourage alternate-routed traffic from seizing the remaining idlecircuits on the link, in order to allow traffic to complete directly.The DCR algorithm embodies a mechanism to achieve this purpose. Thismechanism is based on protective allowances (PA). A PA is associatedwith each link and preserves capacity for direct traffic. It reflectsthe need that the traffic has for circuits on its direct link.

The protective allowance can be static, in which case its value is equalto a given percentage of the size of the link (which is the total of thenumber of circuits of all circuit groups in the link). An appropriatevalue for such purpose is 3% of the size of the link. Alternatively, theprotective allowance can be dynamic. For details of dynamic protectiveallowances, the reader is directed to "Simulation of Dynamic Routing:Critical Path Selection Features for Service and Economy", W. H.Cameron, ICC Conference 1981; and "State-dependent Dynamic TrafficManagement for Telephone Networks", Jean Regnier and W. H. Cameron, IEEECommunications, November 1991, both of which are incorporated herein byreference.

In the DCR algorithm, access to alternate routes by traffic overflowinga direct link is influenced by the direct traffic that the links of thealternate routes support. For this purpose, a number of safe idlecircuits (SIC) is computed for each link. It is defined as thedifference between the number of idle circuits (IC) on the link and thePA of all the direct traffic that the circuit groups of the linksupport. The capacity of the alternate routes for a directly-connectedpair is then based on the SIC values of their links. These computationsapply only for determining the alternate route for traffic overflowingfrom a direct link. For traffic without a direct link, the alternateroutes are based on the total number of Idle Circuits (IC), withouttaking into account the PAs.

In DCR without virtual destination nodes, the circuit group between twoswitches, say o, (associated with node 0) and a (associated with nodeA), can belong to a maximum of two links: the O-A and A-O links. In thiscontext, the SIC for the O-A and A-O links can be determined simply byconsidering the PA for the O-A and A-O direct traffic.

With the introduction of virtual destination nodes, the associationbetween circuit groups and links becomes more complex. Links to virtualdestination nodes are made of circuit groups which can also belong toother links. For instance, in the example of the preceding paragraph, ifa is associated with a component of a virtual destination node V, thecircuit group o-a can also belong to link O-V, in addition to links O-Aand A-O.

Links to virtual destination nodes are considered as singlefully-available entities for the purpose of routing and alternate routeselection, just like links to non-virtual destination nodes. They havetheir own direct and overflow traffic, and link measurements. Forpurposes of routing, calls offered to a link to a virtual destinationnode have access to all the idle circuits on the link. For purposes ofalternate route selection, a link to a virtual destination node isconsidered on the basis of global link measurements, such as its totalnumber of idle circuits and the total PA that applies to its circuitgroups.

As virtual destination nodes introduce their own links and directtraffic, and as these links can be defined with respect to the samecircuit groups as other links, the relationship between circuit groupsand direct traffic protection becomes more complex than with previousDCR networks. In this new context, it becomes possible, and indeeddesirable, to employ a new computation algorithm for the ICs and SICs soas to spread the reservation for direct traffic on all the circuitgroups that may support it, and thereby better manage the competitionfor resources among the links that contain the same circuit group(s).

Two new algorithms will be described. The first needs the followinginformation to run.

G_(l) The set of circuit groups of link l;

IC_(g) The reported number of idle circuits on circuit group g;

L_(g) The set of the links that contain circuit group g;

P_(l),g The proportion used for intra-link traffic distribution, forcircuit group g of link l. These proportions are those supplied by theuser and used by the intra-link traffic distribution algorithm describedabove;

PA_(l) The protective allowance computed for link l, as in current DCRproducts and mentioned above.

The new algorithm first computes, for each link l, the number of idlecircuits IC_(l) which is the sum of the numbers of idle circuits on eachof its circuit groups: ##EQU1##

Then, for each link, the PA value is distributed among the circuitgroups of the link. The reservation RSV_(g) on circuit group g is thenequal to ##EQU2## This produces a total reservation level RSV_(l) forlink l equal to: ##EQU3## Finally, for each link l, the number of safeidle circuits SIC_(l) is equal to:

    SIC.sub.l =IC.sub.l -RSV.sub.l

These formulas enable the network processor to compute itsrecommendations for any node pair O-D, where D may be a virtualdestination node, using the current DCR algorithm. This algorithmbasically selects the two-link path O-T-D for which both links O-T andT-D are the most available.

If D is a virtual destination node, the link T-D may be composed of aplurality of circuit groups. The new recommendation algorithm is adaptedto this situation since it takes into account the idle capacity on allthe circuit groups of the links. Furthermore, reservation levels oncircuit groups are taken into account for all alternate routed calls.This ensures "enlightened" routing recommendations from the networkprocessor.

The second new call distribution algorithm, which is preferred,dispenses with the use of the proportion P_(l),g. Instead, thedistribution algorithm may compute the number of idle circuits IC_(l),using the formula set out above, and then, when distributing the PAvalue among the circuit groups of the link, compute the reservationRSV_(g) on circuit group g by the following steps:

Step 1. For all links l and circuit groups g, if the current RSV_(l),g=0, then its value is adjusted before proceeding with the followingsteps. It becomes: ##EQU4## where #L_(g) is the number of links thatcontain circuit group g and #G_(l) is the number of circuit groups inlink l.

Step 2. The requested reservation RRSV_(l),g on circuit group g for linkl is computed by distributing its PA among its circuit groups, using thefollowing formula: ##EQU5## where #G_(l) is the number of circuit groupsin link l.

Step 3. The new reservation RSV_(l),g on circuit group g for link l isthen computed as: ##EQU6##

Step 4. The reservation RSV_(g) on circuit group g is then computed as:##EQU7##

The number of safe idle circuits SIC_(l) would then be computed asdescribed above.

This second distribution algorithm is preferred because it dispenseswith the proportion P_(l),g, which could be frequently updated withoutthe knowledge of the network processor means (as will be shown insection 3.2).

3.0 Management of virtual destination node intra-link traffic usingdynamically-updated proportions

In the embodiment described above with reference to FIGS. 2 through 4,the proportions listed in Table II are "fixed", i.e. computed "off-line"and stored in the storage means of the switch under manual control. Theyare not modified automatically and in "near real-time" like the storedalternative routing data. It is envisaged, however, that improvements ingrade of service, particularly in times of stress, could be attained bymodifying the system to allow dynamic updating of the proportions also.For convenience, the ensuing description will refer to virtualdestination nodes for which the proportions can be updated dynamicallyas "dynamic virtual destination nodes" and attribute to them variousactions which, in reality, will be performed by their components. Hence,in FIGS. 5 and 6, nodes U and W are "dynamic virtual destination nodes".

Dynamic updating of the proportions can be centralized or distributed.In the centralized case, a common central processor, conveniently thenetwork processor 25A, uses information sent to it by the switches tocompute the proportions and then sends the new proportions to theappropriate switches. In the distributed case, the individual switchesupdate their own proportions based upon information they have collectedabout call completion rates.

Both centralized and distributed computation of the proportions will nowbe described with reference to FIGS. 5 and 6. FIGS. 5 and 6 illustrate aDCR network 41 comprising five switches e, f, h, j and k, eachrepresented by a square. The DCR network 41 has six nodes E, F, H, J, Uand W, each represented by an ellipse. It should be noted that, in FIG.5, the labels inside the squares represent the roles which the switchesplay, i.e. as an individual node or as a component of a virtualdestination node.

Dynamic virtual destination node U is used to transfer calls from theDCR network 41 to a local area network 42, which comprises threeswitches r, s and t connected to switches h and j by circuit groups h-r,h-s, h-t, j-s and j-t. Dynamic virtual destination node U has twocomponents Uh and Uj, residing in switches h and j, respectively.

Dynamic virtual destination node W is used to reach operator services,for example TOPS operator stations 43 and 44 connected to switches h andk by circuit groups h-q and k-q, respectively. Dynamic virtualdestination node W has two components, residing in switches h and k,respectively.

It should be noted that the data communications network 46 may need tobe extended, as compared with the data communications network 24A ofFIGS. 2 and 3, to support the new communicating entities and to allowfor the gathering of the completion capability from each of thecomponents Ug, Uh, Wg and Wj.

3.1 Centralized Computation of Proportions

In order for the network processor to compute the proportions, it needsto receive information about the components of the virtual destinationnodes, i.e. status of their associated circuit groups and trafficvolumes. It should be appreciated that the virtual destination nodes arelogical entities and so cannot physically communicate with the networkprocessor 45. Instead each component of a dynamic virtual destinationnode communicates the required information on behalf of the virtualdestination node. The network processor gathers information from thecomponents of each dynamic virtual destination node and "labels" it asinformation from that dynamic virtual destination node.

The same physical element can belong to several dynamic virtualdestination nodes. One distinct component is associated with each one ofthem. Therefore, a single physical element may act as several distinctcomponents, each reporting distinct (and possibly unrelated)information. Furthermore, the same physical element can also act as anorigin node and therefore may also report other information (unrelatedto its component role). In a reporting period, the switching elementwhich represents a normal node may communicate first in its own behalf,and then report on behalf of the virtual destination node. Thus, in DCRnetwork 41, switches e and f act solely as nodes E and F, respectively,and switch k acts solely as a component of virtual destination node W.Switches h and j, however, play multiple roles. Switch j has two roles;it acts as node J and as a component of dynamic virtual destination nodeU. Switch h has three roles: it acts as (i) node H; (ii) a component ofdynamic virtual destination node W; and (iii) a component of dynamicvirtual destination node U. Hence, when communicating with the networkprocessor 45, switch j will communicate twice; once as node J and againon behalf of virtual destination node U. Switch h will communicate threetimes; once as node H; a second time on behalf of virtual destinationnode W; and a third time on behalf of virtual destination node U. Itshould be appreciated that, even though these multiple communications amlogically distinct, they could in fact be aggregated into a singlemessage to the NP 45 for efficiency reasons.

3.1.1 Monitoring of the Nodes and Components

As previously described, the status of each origin node and its circuitgroups is measured by the switch that acts as the origin node in thenetwork and comprises the following information:

Number of idle circuits in each circuit group.

Total number of circuits in each circuit group.

Other information relevant to DCR and virtual destination nodes but notused directly by the dynamic virtual destination nodes of thisembodiment of the present invention.

This information is reported to the network processor 45 at regularintervals as previously described.

As mentioned previously, from the perspective of the NP 45, each nodeand each component is a different logical entity. Communication betweenthe NP 45 and each entity is considered independently by the NP 45.Thus, in the embodiment of FIG. 5, the NP 45 for the DCR network 41would maintain eight communications sessions with the eight entities ofthe network: origin nodes E, F, H and J, components Ug and Uh of dynamicvirtual destination node U, and components Wg and Wj of dynamic virtualdestination node W.

The control process for dynamic intra-link traffic allocation among thecircuit groups of the links to the virtual destination nodes U and Wcomprises the following six main subprocesses, some of which are commonto the first embodiment of the invention:

1. The measuring of the real-time ability of each component of thevirtual destination node to complete calls once they have reached it.This is done by the components of the dynamic virtual destination node,and takes into account only calls that are associated with the dynamicvirtual destination node.

2. The measuring of the real-time status of the nodes and their circuitgroups. This is done by the switches that act as origin nodes, namely e,f, h and j.

3. The gathering of this information by the network processor 45 via thecommunications network 46 between the switches and the network processor45.

4. The computation by the network processor 45 of the proportions to usefor intra-link traffic distribution for each link to a dynamic virtualdestination node.

5. The communication of these proportions to the origin nodes via thecommunication network (46) between the network processor 45 and theswishes of the origin nodes.

6. The application of these proportions for intra-link trafficdistribution. This is done by the switches that act as origin nodes,namely e, f, h and j, updating their respective tables (Table II), bysubstituting new proportions for old ones,

These subprocesses are repeated at regular time intervals, convenientlyat the same time as normal routing information transfers.

3.1.2 Monitoring of Component Status

The status of each of the components Uh, Uj, Wh and Wk of the dynamicvirtual destination nodes, i.e. its ability to complete calls, iscomputed by the component itself using a measure called the "completioncapability". This is a measure based upon the idle capacity from thecomponent to the corresponding final destination outside the DCR network(in local network 42 or TOPS stations 43 and 44 in the specificembodiment) and reflects the ability of the component to complete callsonce they have reached it. This measure takes into account only callsthat are associated with the corresponding dynamic virtual destinationnode.

Depending upon the particular type of dynamic virtual destination node(its network "meaning"), the precise definition of the completioncapability of a component can be different. Thus, completion capabilityof the components Ug and Uh to final destinations in the local network42 will not be defined in the same way as the completion capability ofcomponents Wg and Wj to the operator stations 43 and 44, since the callsare not sent to the same destination and the traffic and callcharacteristics will be different. Each specific application of thedynamic virtual destination node requires that a specific completioncapability measure be defined. Even though the data to be reported maybe very different from one application to another, the following ruleswill be followed for defining the completion capability:

Each component should report a measure expressed as a single integernumber greater than or equal to 0.

The measure should indicate the absolute completion capability of thecomponent. Relative completion capability (the ratio of the idlecapacity to the total capacity) should be avoided.

The measure should be strictly monotone increasing (the more idlecapacity there is, the larger the number should be). Furthermore, themeasure should be as close as possible to a linear function.

0 (zero) should be reported if and only if there is no more idlecapacity, i.e. if all calls will be rejected by the component (while inthe current state).

The measures reported by the components of a given dynamic virtualdestination node should be directly comparable with each other. This isnot necessary between components of different dynamic virtualdestination nodes.

Thus, for the components of virtual destination node U, the completioncapability measure could be defined as the total number of idle circuitsfrom the components Ug and Uh to the local network 42. Hence, thecompletion capability of the component Uh of node U residing at switch hwould be 18 (which is 5+3+10, the number of circuits in circuit groupsh-r, h-s and h-t). The completion capability of the component Uj of nodeU residing at switch j would be 25 (which is 10+15, the number ofcircuits in circuit groups j-s and j-t).

For each of the components Wh and Wk of virtual destination node W, thecompletion capability measure could be defined as a combination of theremaining capacity of the queue for calls awaiting service and of thenumber of idle operators. In this case, more weight should be given tothe number of idle operators to reduce waiting times. The measure couldbe defined as ten times the number of idle operators plus the remainingcapacity of the queue. For example, if station 44 has one operator idleand a remaining queue capacity for 10 calls, the completion capabilityof the component Wk residing at switch k would be 20 (which is 10·1+10).Likewise, if station 43 has no operators idle and a remaining queuecapacity for eight calls, the completion capability of the component Whof node W residing at switch h would be 8 (which is 10·0+8).

3.1.3 Computation of the Proportions by the Central Processor

It should be appreciated that, for each link to a dynamic virtualdestination node, the network processor 45 computes a proportion foreach of the circuit groups of the link. The following information,provided by the origin nodes and components of the dynamic virtualdestination nodes (see the previous steps), is required to perform thesecomputations:

CC_(c) The completion capability reported by component c.

C_(l),g The component of a dynamic virtual destination node to whichcircuit group g in link l goes.

G_(l) The set of the circuit groups of link l.

IC_(g) The reported number of idle circuits on circuit group g.

L_(g) The set of the links that contain circuit group g.

P_(l),g The proportion currently used for circuit group g in link l.

PWF The weighting factor used for the computation of the proportions.

The weighting factor PWF is set by the user to control the reactivenessof the system. An appropriate value for PWF is 0.45.

The computations are done in five steps, which are described in thefollowing sections 3.1.3.1. to 3.1.3.5.

3.1.3.1 Weights Based on Circuit Group Idleness

The first step is to compute, for each circuit group of each link toeach dynamic virtual destination node, a weight based on its number ofidle circuits. The first weight W1_(g) for circuit group g is computedas: ##EQU8## where #L_(g) is the number of links that contain circuitgroup g. In the example of FIG. 5, the following values are computed:##EQU9## 3.1.3.2 Weights Based on Component Completion Capability

The second step involves computing, for each circuit group of each linkto each dynamic virtual destination node, a weight based on thecompletion capability of the components of the dynamic virtualdestination node. This second weight W2_(l),g for circuit group g oflink l is computed as: ##EQU10##

When the denominator in the above formula is zero, the following formulacan be used instead: ##EQU11## where #{i|C_(l),i =C_(l),g } is thenumber of circuit groups in link l that connect to the same component ascircuit group g.

In the example of FIG. 5, the following values are computed: ##EQU12##3.1.3.3 Combined Weights

The third step combines the first and second weights obtained earlier.The combined weight W_(l),g for circuit group g of link l is computedas: ##EQU13## In the example of FIG. 5, the following values arecomputed: ##EQU14## 3.1.3.4 Proportions

The fourth step transforms the combined weights into proportions. Theproportion WP_(l),g for circuit group g of link l is computed as:##EQU15##

When the denominator in the above formula is zero, the following formulacan be used instead: ##EQU16## where #G_(l) is the number of circuitgroups in link l. In the example of FIG. 5, the following values arecomputed: ##EQU17## 3.1.3.5 Proportions Updated and Sent to the OriginNode

Finally, the proportions obtained in the previous step are combined withthe proportions used in the previous cycle to obtain the proportionsthat will be sent to the origin node. The proportion P_(l),g for circuitgroup g of link l is computed as:

    P.sub.l,g =WP.sub.l,g ·PWF+P'.sub.l,g ·(1-PWF),

where P'_(l),g is the proportion for circuit group g in link l beforethe update, i.e. in the previous cycle.

In the example of FIG. 5, the following values are computed, assumingthat PWF is 0.45 and that all P'_(l),g are 50% (except P'_(E-U),e-hwhich must be 100%)

    P.sub.E-U,e-h =1·0.45+100%·(1-0.45)=100.0%

    P.sub.E-W,e-h =0.2052·0.45+50%·(1-0.45)=36.73%

    P.sub.E-W,e-k =0.7949·0.45+50%·(1-0.45)=63.27%

    P.sub.F-U,f-h =0.3218·0.45+50%·(1-0.45)=41.98%

    P.sub.F-U,f-j =0.6784·0.45+50%·(1-0.45)=58.03%

    P.sub.F-W,f-h =1·0.45=50%·(1-0.45)=72.50%

    P.sub.F-W,F-k =0·0.45+50%·(1-0.45)=27.50%

3.1.4 Communicating of the Proportions to the Origin Nodes

The network processor communicates the proportions to the origin nodesvia the data communication network 46 periodically, conveniently at thesame time as the periodic alternate route updates.

3.1.5 Application of the Proportions

When an origin node receives from the NP new proportions for a link, ithas to implement them. This is done by updating the proportions in themain DCR table to the new values received. This is the same table ofproportions (Table II) used in the embodiment described with respect toFIGS. 2 to 4 but, in that embodiment, the proportions were static.

It should be appreciated that, although it is convenient for the networkprocessor to compute the proportions and send them to the switchingelements along with the usual routing information updates, a separateprocessor could be used for the proportions and be part of the networkprocessor means.

3.2 Distributed Computation of Proportions

Updating of the proportions automatically to keep them optimal does notnecessarily require communication of additional information between acentral processor, the switches of the network, and the components ofthe virtual nodes. Indeed, it is possible to define other methods forachieving the same goal that do not involve a central processor at all.In the alternative procedure described hereafter, the additionalinformation for updating the proportions dynamically is obtained bymonitoring overflow calls and existing signalling messages (standardCCS7 messages), and this information is processed directly by theswitches. The signalling messages monitored by the switches for thispurpose are called Release With Cause (RWC) messages. Such a message issent whenever a call cannot be completed. A specific field in thismessage indicates the cause for the non-completion. It is possible,therefore, for a switching element to determine whether or not itsattempt of a circuit group inside a link has been successful. Indeed,the attempt can be considered successful unless:

The call has overflowed the circuit group (all its circuits were busy),OR

The call has been carried by the circuit group, but has returned with aRelease With Cause message indicating that it was blocked.

When such events occur, it is possible for the switching element toupdate the proportions for the link, in order to optimize the throughputof call routing. The following subsection 3.2.1 describes the details ofthis scheme.

FIG. 6 differs from FIG. 5 because such automatic update of proportionsby the individual switching elements entails changes to the DCR network.Thus, in the network of FIG. 6, there is no data link between datacommunications network 46A and switch k, because the latter does notcommunicate on behalf of virtual destination node W. Also, broken lineRWC from switch j to switch f indicates that switch f monitors ReleaseWith Cause messages and overflows for calls it has attempted to route tovirtual destination node U (of which switch j is a component). Thenetwork processor 45A in FIG. 6 also differs from that of FIG. 5 becauseit does not compute proportions and it not longer has communicationsessions with components Uh, Uj, Wh and Wk of the virtual destinationnodes U and W. Thus, the network processor 45A maintains only onecommunication session with switch h, rather than three; only onecommunication session with switch j, rather than two; and nocommunication session with switch k, rather than one.

3.2.1 Automatic Update of the Proportions

In order to update the proportions dynamically, each switch keeps, foreach of its multi-circuit-group links, the following variables:

N: the number of circuit groups in the link (2 or more).

LASTCG: the index in the link of the last circuit group that had anoverflow or Release With Cause message (1 to N).

LASTOVF: the number of overflows and/or Release With Cause messages in arow for the circuit group LASTCG (1 or more).

CGCTR: the index in the link of the last circuit group that had itsproportion updated (1 to N).

When an attempt to route a call using a circuit group CG in a link to adynamic virtual destination node results in an overflow or a ReleaseWith Cause (RWC) message specifying one of a predetermined set ofcauses, the switch makes the following modifications to the proportions:p1 1. If the index of circuit group CG is LASTCG then add 1 to LASTOVF;otherwise set LASTCG to the index of circuit group CG and set LASTOVF to1.

2. If the update is due to an overflow then:

(a) Set MAXDEC to the minimum of LASTOVF% and the current proportion ofcircuit group CG.

otherwise (the update is due to a Release With Cause message):

(b) Set MAXDEC to the minimum of (LASTOVF% multiplied by N) and thecurrent proportion of circuit group CG.

3. Subtract MAXDEC from the current proportion of circuit group CG.

4. Repeat MAXDEC times:

(a) Add 1 to CGCTR; if CGCTR>N then set CGCTR to 1.

(b) If CGCTR=LASTCG then go back to step 4a.

(c) Add 1% to the current proportion of the circuit group with indexCGCTR.

This algorithm ensures that the total of the proportions of the circuitgroups in the link remains 100% at all times.

An example will now be described with reference to FIG. 6. In thisexample, link F-U is composed of two circuit groups; f-h (index 1), andf-j (index 2). Assume that the current proportions for link F-U are 40%for circuit group f-h and 60% for circuit group f-j. Assume also that,for the link F-U, the current value of LASTCG is 2, the current value ofLASTOVF is 2, and the current value of CGCTR is 1.

Consider a call originating at switch f and destined for the localnetwork 42. Such a call is translated at switch f as being associatedwith destination node U. The routing then proceeds to node U. The firststep for switch f is to attempt the direct link to U, which is doneusing the distribution algorithm described in section 2.2

Assume that within link F-U, the circuit group f-j is selected as thefirst circuit group to attempt for this call (this would happen with 60%probability). Switch f sends the call to switch j using circuit groupf-j. However, once at switch j, assume that the call is not able tocomplete because all appropriate circuits outgoing from switch j arebusy. At this point, switch j generates a Release With Cause messageindicating the reason why the call was blocked and sends it to switch f.

Once received by switch f, this RWC message triggers the execution ofthe above algorithm. Since the call was being sent to node U, switch fuses the data for link F-U. Since the index of the "faulty" circuitgroup f-j, which is 2, is equal to LASTCG, the first step incrementsLASTOVF by 1, which changes it to 3.

Since the update is due to a Release With Cause message, step 2 setsMAXDEC to the minimum of 3%*2 and 60%, which is 6%.

Step 3 then decreases the current proportion of circuit group f-j by 6%,which makes it 54%.

Finally, step 4 redistributes this 6% across all other circuit groups ofthe link. Since in this case there is only one other circuit group, itreceives the entire 6% increment. Therefore, the proportion for circuitgroup f-h now becomes 46%.

The above algorithm gives more weight to RWC messages than to overflows(through step 2). Alternatively, the entire step 2 of the abovealgorithm could be changed to:

2. Set MAXDEC to the minimum of LASTOVF% and the current proportion ofcircuit group CG.

It should be appreciated that the alternative procedure described insection 3.2, using distributed computation of proportions, is simplerthan that of section 3.1 and may yield cost savings because the switchesdo not need to communicate with the network processor means inconnection with the updating of the proportions.

Industrial Applicability

Embodiments of the invention employ a virtual destination node toprovide improved egress from the DCR network, as compared with networksin which calls must exit via a single switch. It is envisaged thatvirtual destination nodes will be employed in other ways and for otherpurposes. It is also envisaged that the invention could be used intelecommunications networks which do not use dynamic routing.

Although embodiments of the invention have been described andillustrated in detail, it is to be clearly understood that they are byway of illustration and example only and not to be taken by way oflimitation, the spirit and scope of the present invention being limitedonly by the appended claims.

We claim:
 1. A telecommunications network (31A) comprising:a pluralityof network nodes (A,B,C,O,T,V) and links (A-B,A-O,A-T,B-A,B-O,B-T, . . .), the network nodes comprising origin nodes (A,B,C,O,T), eachcomprising a switching element (a,b,c,o,t) capable of routing callswithin the network, and destination nodes (A,B,C,O,T,V) serving asdestinations for such calls, some of said network nodes being transitnodes (A,B,C,O,T), each transit node being both a destination node andan origin node; each link interconnecting directly an origin node and adestination node and comprising one or more circuit groups(a-b,o-a,o-b,o-c, . . . ), each of the switching elements having storagemeans for routing information, the routing information comprising(i) alisting of destination nodes; (ii) associated with each destinationnode, a corresponding link, where such a link exists; (iii) for eachlink, a corresponding group of one or more circuit groups outgoing fromthe switching element; and (iv) associated with each destination node, alist of zero or more transit nodes; each switching element comprisingmeans for translating address data of a call to determine a destinationnode for the call and(i) where a link to the destination node exists,attempting to route the call to the destination node via a circuit groupthat is in the link; (ii) where a link to the destination node is notavailable, accessing its routing information to select a transit nodeand attempting to route the call via a circuit group that is in the linkto the transit node; wherein said listing of destination nodes of atleast one of said switching elements, said one of said switchingelements being at one of said origin nodes, comprises a virtualdestination node (V) representing a group of two or more components(a,b,c), each component being a distinct physical network element, therebeing one or more distinct circuit groups associated with eachcomponent, and the link from said one of said origin nodes to thevirtual destination node is a set of circuit groups from the switchingelement at that one of said origin nodes to the two or more componentsof the virtual destination node; said link from said one of said originnodes to the virtual destination node comprises a plurality of circuitgroups, the storage means of said one of said switching elementsincludes a specified proportion for each of those circuit groups and,when attempting to route a call via said link from said one of saidorigin nodes to the virtual destination node, said one of said switchingelements attempts the circuit groups in dependence upon the specifiedproportions; and said one of said switching elements is arranged, inattempting to route a call via said link to the virtual destinationnode, to:(i) determine the set S of all circuit groups with a non-zeroproportion in said plurality of circuit groups; (ii) determine whetheror not the set S is empty; (iii) cause the call to overflow if the setis empty; (iv) if the set is not empty, make a weighted random selectionof one of the circuit groups of the set S, and attempt to route the callvia such circuit group; (v) if the selected circuit group does not havea circuit idle, remove the selected circuit group from the set S; and(vi) repeat steps (ii) through (v) until the call is carried or allcircuit groups in the set have been exhausted and the call overflowed.2. A network as claimed in claim 1, further comprising network processormeans (25A) for updating the routing information, the network processormeans being coupled to all of said switching elements by a datacommunications network (24A) whereby, periodically, each of saidswitching elements communicates to the network processor meansinformation about network conditions local to the switching element andreceives from the network processor means alternate routing informationincluding recommended transit nodes, the network processor meanscomputing alternate routing information in dependence upon theinformation communicated thereto by all of the switching elements andperiodically updating the information identifying transit nodes.
 3. Anetwork as claimed in claim 2, wherein, when computing alternate routerecommendations, the network processor means takes into account fullavailability of all of the links and, where a link comprises a pluralityof circuit groups, takes into account all of the circuit groups of thatlink.
 4. A network as claimed in claim 3, wherein the network processormeans is arranged to determine safe idle circuits for said links by:(i)storing for each link a protective allowance previously computed forthat link, the protective allowance preserving capacity in the link fordirect traffic; (ii) computing, from these protective allowances andfrom current link utilization, a reservation value for each circuitgroup of each link; (iii) computing, from these reservation values andfrom the number of idle circuits reported by switching elements oforigin nodes, the number of unreserved (safe) idle circuits on eachlink;and further arranged to compute, based on these numbers of safeidle circuits, transit node recommendations for each pair of an originnode and a destination node connected directly by a link from the originnode to the destination node.
 5. A network as claimed in claim 4,wherein said link from said one of said origin nodes to the virtualdestination node comprises a plurality of circuit groups and therespective storage means of said switching elements each include aspecified proportion for each of said circuit groups within each linkand, when attempting to route a call via one of such links, theswitching element attempts the circuit groups of the link in dependenceupon the specified proportions, and wherein the network processor meansis arranged to:(i) distribute the protective allowances of the linksthat contain circuit group g among their circuit groups such that thereservation RSV_(g) on circuit group g is equal to ##EQU18## producing atotal reservation level RSV₁ for link l equal to: ##EQU19## and: (ii)compute the number of idle circuits IC₁ as ##EQU20## and the number ofsafe idle circuits SIC₁ link l as:

    SIC.sub.1 =IC.sub.1 -RSV.sub.1

where G₁ is the set of circuit groups of link l; IC_(g) is the reportednumber of idle circuits on circuit group g; L_(g) is the set of thelinks that contain circuit group g; P_(l),g is said proportion used forintra-link traffic distribution for circuit group g of link l; PA₁ isthe protective allowance value for link l, serving to preserve capacityfor direct traffic.
 6. A network as claimed in claim 4, wherein thenetwork processor means is arranged to:(i) store the current reservationRSV_(l),g for each circuit group of each link; and (ii) when computingthe safe idle circuits;(A) when the current RSV_(l),g is 0, adjust suchreservation RSV_(l),g to become: ##EQU21## (B) compute the requestedreservation RRSV_(l),g using the formula: ##EQU22## (C) compute the newreservation RSV_(l),g on circuit group g for link l as: ##EQU23## (D)compute the reservation RSV_(g) on circuit group g as: ##EQU24## (E)compute the number of idle circuits IC₁ for each link l as: ##EQU25##(F) compute the number of safe idle circuits SIC₁ for link l as equalto:

    SIC.sub.1 =IC.sub.1 -RSV.sub.1

where: G₁ is the set of circuit groups of link l; #G₁ is the number ofcircuit groups in link l; IC_(g) is the reported number of idle circuitson circuit group g; L_(g) is the set of the links that contain circuitgroup g; and PA₁ is the protective allowance value for link l, servingto preserve capacity for direct traffic.
 7. A network as claimed inclaim 1, further comprising means for updating the proportionsautomatically to take account of current link utilization and currentability of said components of said virtual destination node to completecalls to the final destinations served by that virtual destination node.8. A network as claimed in claim 1, further comprising network processormeans (25A) coupled to all of said switching elements by a datacommunications network (24A) whereby, periodically, each of saidswitching elements communicates to the network processor meansinformation about network conditions local to the switching element andreceives from the network processor means alternate routing informationincluding recommended transit nodes, the network processor meanscomputing alternate routing information in dependence upon theinformation communicated thereto by all of the switching elements andperiodically updating the information identifying transit nodes, thenetwork processor means further comprising means for updating theproportions automatically to take account of current link utilizationand current ability of said components of said virtual destination nodeto complete calls to the final destinations served by that virtualdestination node, wherein each of said components of said virtualdestination node is arranged to report to the network processor meanscall completion capability information related to its ability tocomplete calls to the final destinations served by that virtualdestination node, and the network processor means is arranged to computea proportion for each circuit group of said link to said virtualdestination node based upon such call completion information, and uponsaid network conditions reported by said switching elements, and tosupply those proportions to the switching element at the origin nodeconnected to said virtual destination node by said link.
 9. A network asclaimed in claim 8, wherein the call completion capability informationcommunicated to the network processor means is rendered in a similarform and treated in a similar manner by the network processor meansregardless of differences between the components, characteristics ofcalls handled, and final destinations served by those components.
 10. Anetwork as claimed in claim 8, wherein the network processor is arrangedto determine the proportions such that traffic is distributed among theplurality of circuit groups of said link to the virtual destination nodein accordance with idle capacity of the circuit groups of said link andcall completion capability of said components of said virtualdestination node.
 11. A network as claimed in claim 10, wherein thenetwork processor is arranged to compute, for each circuit group of saidlink to said virtual destination node, a first weight based on itsnumber of idle circuits, and a second weight based on the completioncapability of the components of the dynamic virtual destination node, tocombine the first and second weights, to transform the combined weightsinto proportions, to combine the proportions resulting from suchtransformation with corresponding proportions used previously, and tosend to said switching element at said one of said origin nodes theproportions resulting from such combination, said switching elementbeing arranged to update its said storage means with the newly-computedproportions for subsequent use in distributing calls among the circuitgroups of said link to said virtual destination node.
 12. A network asclaimed in claim 11, wherein the network processor means is arranged tocompute:the first weight W1_(g) for circuit group g as: ##EQU26## thesecond weight W2_(l),g for circuit group g of link l as: ##EQU27## thecombined weight W_(l),g for circuit group g of link l as: ##EQU28## theproportion WP_(l),g for circuit group g of link l as: ##EQU29## and: thecombined proportion P_(l),g for circuit group g of link l, combining theinstant proportion and the previous proportion, as:

    P.sub.l,g =WP.sub.l,g ·PWF+P'.sub.l,g ·(1-PWF),

where CC_(o) is the completion capability reported by component c;C_(l),g is the component of a dynamic virtual destination node to whichcircuit group g in link l goes; G₁ is the set of the circuit groups oflink l; #G₁ is the number of circuit groups in link l; IC₈ is thereported number of idle circuits on circuit group g; #L_(g) is thenumber of links that contain circuit group g; P'_(l),g is the previousproportion for circuit group g in link l; and PWF is the weightingfactor used for the computation of the proportions.
 13. A network asclaimed in claim 7, wherein each switching element derives callcompletion rate information for its calls to said virtual destinationnode and updates its proportions independence thereupon.
 14. A networkas claimed in claim 13, wherein said switching element, when attemptingto route a call using said link to said virtual destination node,derives said call completion information by monitoring circuit groupoverflows and Release With Cause signalling messages attributable tofactors remediable by the network.
 15. A network as claimed in claim 14,wherein said one of said switching elements keeps for said link to saidvirtual destination node the variables:N: the number of circuit groupsin the link (2 or more). LASTCG: the index in the link of the lastcircuit group that had an overflow or Release With Cause message (1 toN). LASTOVF: the number of overflows and/or Release With Cause messagesin a row for the circuit group with index LASTCG (1 or more). CGCTR: theindex in the link of the last circuit group that had its proportionupdated (1 to N); andwhen an attempt by said one of said switchingelements to route a call using a circuit group CG in said link to saidvirtual destination node results in an overflow or a Release With Causemessage specifying one of a predetermined set of causes, the switchingelement modifies the proportions for that link as follows:
 1. If theindex of circuit group CG is LASTCG then add 1 to LASTOVF; otherwise setLASTCG to the index of circuit group CG and set LASTOVF to
 1. 2. If theupdate is due to an overflow then:(a) Set MAXDEC to the minimum ofLASTOVF% and the current proportion of circuit group CG. Otherwise (theupdate is due to a Release With Cause message): (b) Set MAXDEC to theminimum of (LASTOVF% multiplied by N) and the current proportion ofcircuit group CG.
 3. Subtract MAXDEC from the current proportion ofcircuit group CG.
 4. Repeat MAXDEC times:(a) Add 1 to CGCTR; if CGCTR>Nthen set CGCTR to
 1. (b) if CGCTR=LASTCG then go back to step 4a. (c)Add 1% to the current proportion of the circuit group with index CGCTR.16. A method of routing calls in a telecommunications network (31A) suchnetwork comprising:a plurality of network nodes (A,B,C,O,T,V) and links(A-B,A-O,A-T,B-A,B-O,B-T, . . . ), the network nodes comprising originnodes (A,B,C,O,T), each comprising a switching element (a,b,c,o,t)capable of routing calls within the network, and destination nodes(A,B,C,O,T,V) serving as destinations for such calls, some of saidnetwork nodes being transit nodes (A,B,C,O,T), each transit node beingboth a destination node and an origin node; each link interconnectingdirectly an origin node and a destination node and comprising one ormore circuit groups (a-b,o-a,o-b,o-c, . . . ), each of the switchingelements having storage means for routing information, the routinginformation comprising(i) a listing of destination nodes; (ii)associated with each destination node, a corresponding link, where sucha link exists; (iii) for each link, a corresponding group of one or morecircuit groups outgoing from the switching element; and (iv) associatedwith each destination node, a list of zero or more transit nodes; saidlisting of destination nodes of at least one of said switching elementsthat is at one of said origin nodes comprising a virtual destinationnode (V) representing a group of two or more components (a,b,c), eachcomponent being a distinct physical network element, there being one ormore distinct circuit groups associated with each component, the linkfrom said one of said origin nodes to the virtual destination node beinga set of circuit groups from said one of said switching elements to thetwo or more components of the virtual destination node, and the storagemeans of said one of said switching elements including a specifiedproportion for each of those circuit groups; each switching elementcomprising means for translating address data of a call to determine adestination node for the call; the method comprising the steps of, ateach switching element at an origin node:(i) where a link to thedestination node exists, attempting to route the call to the destinationnode via a circuit group that is in the link; (ii) where a link to thedestination node is not available, accessing the routing information toselect a transit node and attempting to route the call via a circuitgroup that is in the link to the transit node; when attempting to routea call to said virtual destination node via the link from said one ofsaid origin nodes to the virtual destination node, attempting to routethe call using one of said set of circuit groups, in dependence upon thespecified proportions, wherein said one of said switching elements(i)determines the set S of all circuit groups with a non-zero proportion insaid plurality of circuit groups; (ii) determines whether or not the setS is empty; (iii) causes the call to overflow if the set is empty; (iv)if the set is not empty, makes a weighted random selection of one of thecircuit groups of the set S, and attempts to route the call via suchcircuit group; (v) if the selected circuit group does not have a circuitidle, removes the selected circuit group from the set S; and (vi)repeats steps (ii) through (v) until the call is carried or all circuitgroups in the set have been exhausted and the call overflowed.
 17. Amethod as claimed in claim 16, said network further comprising networkprocessor means (25A) for updating said routing information and coupledto all of said switching elements by a data communications network(24A), wherein, periodically, via the data communications network, eachof said switching elements communicates to the network processor meansinformation about network conditions local to the switching element andreceives from the network processor means alternate routing informationincluding recommended transit nodes, and the network processor meanscomputes alternate routing information in dependence upon theinformation communicated thereto by all of the switching elements andperiodically updates the information identifying transit nodes.
 18. Amethod as claimed in claim 17, wherein the step of computing alternateroute recommendations, by the network processor means, takes intoaccount full availability of all of the links and, where a linkcomprises a plurality of circuit groups, takes into account all of thecircuit groups of that link.
 19. A method as claimed in claim 18,wherein, at the network processor means, safe idle circuits for saidlink are determined by:(i) storing, for each link a protective allowancepreviously computed for that link, the protective allowance preservingcapacity in the link for direct traffic; (ii) computing, from theseprotective allowances and from current link utilization, a reservationvalue for each circuit group of each link; (iii) computing, from thesereservation values and from the number of idle circuits reported byswitching elements of origin nodes, the number of unreserved (safe) idlecircuits on each link;and further comprising, based on these numbers ofsafe idle circuits, transit node recommendations for each pair of anorigin node and a destination node connected directly by a link from theorigin node to the destination node.
 20. A method as claimed in claim19, in a said network in which said link from said one of said originnodes to the virtual destination node comprises a plurality of circuitgroups and the storage means of said switching elements include aspecified proportion for each of said circuit groups within each of saidlinks, the method further comprising, at said switching elements, thestep of, when attempting to route a call via one of these links,attempting the circuit groups of the link in dependence upon thespecified proportions;and at the network processor means, the steps of:(i) distributing the protective allowances of the links that containcircuit group g among their circuit groups such that the reservationRSV_(g) on circuit group g is equal to ##EQU30## producing a totalreservation level RSV₁ for link l equal to: ##EQU31## and: (ii)computing the number of idle circuits IC₁ as ##EQU32## and the number ofsafe idle circuits SIC₁ for link l as:

    SIC.sub.1 =IC.sub.1 -RSV.sub.1

where G₁ is the set of circuit groups of link l; IC_(g) is the reportednumber of idle circuits on circuit group g; L_(g) is the set of thelinks that contain circuit group g; P_(l),g is said proportion used forintra-link traffic distribution, for circuit group g of link l; PA₁ isthe protective allowance value for link l, serving to preserve capacityfor direct traffic.
 21. A method as claimed in claim 19, furthercomprising, at the network processor means, the steps of:(i) storing thecurrent reservation RSV_(l),g for each circuit group of each link; and(ii) when computing the safe idle circuits;(A) when the currentRSV_(l),g is 0, adjusting such reservation RSV_(l),g to become:##EQU33## (B) computing the requested reservation RRSV_(l),g using theformula: ##EQU34## (C) computing the new reservation RSV_(l),g oncircuit group g for link l as: ##EQU35## (D) computing the reservationRSV_(g) on circuit group g as: ##EQU36## (E) computing the number ofidle circuits IC₁ for each link l as: ##EQU37## and; (F) computing thenumber of safe idle circuits SIC₁ for link l as equal to:

    SIC.sub.1 =IC.sub.1 -RSV.sub.1

where: G₁ is the set of circuit groups of link l; #G₁ is the number ofcircuit groups in link l; IC_(g) is the reported number of idle circuitson circuit group g; I_(g) is the set of the links that contain circuitgroup g; and PA₁ is the protective allowance value for link l, servingto preserve capacity for direct traffic.
 22. A method as claimed inclaim 16, further comprising the step of updating the proportionsautomatically to take account of current link utilization and currentability of said components of said virtual destination node to completecalls to the final destinations served by that virtual destination node.23. A method as claimed in claim 16, said network further comprisingnetwork processor means (25A) for updating the routing information andupdating the proportions automatically to take account of current linkutilization and current ability of said components of said virtualdestination node to complete to the final destinations served by thatvirtual destination node, the network processor being coupled to all ofsaid switching elements by a data communications network (24A), whereby,periodically, each of said switching elements communicates to thenetwork processor means information about network conditions local tothe switching element and receives from the network processor meansalternate routing information including recommended transit nodes, andthe network processor means, computes alternate routing information independence upon the information communicated thereto by all of theswitching elements and periodically updates the information identifyingtransit nodes, and wherein each of said components of said virtualdestination node reports to the network processor means call completioncapability information related to its ability to complete calls to thefinal destinations served by that virtual destination node, and thenetwork processor means computes a proportion for each circuit group ofsaid link to said virtual destination node based upon such callcompletion information, and upon said network conditions reported bysaid switching elements, and supplies those proportions to the switchingelement at the origin node connected to said virtual destination node bysaid link.
 24. A method as claimed in claim 23, wherein the callcompletion capability information communicated to the network processormeans is rendered in a similar form and treated in a similar manner bythe network processor means regardless of differences between thecomponents, characteristics of calls handled, and final destinationsserved by those components.
 25. A method as claimed in claim 23, whereinthe proportions are determined by the network processor such thattraffic is distributed among the plurality of circuit groups of saidlink to the virtual destination node in accordance with idle capacity ofthe circuit groups of said link and call completion capability of saidcomponents of said virtual destination node.
 26. A method as claimed inclaim 25, wherein the network processor computes, for each circuit groupof said link to said virtual destination node, a first weight based onits number of idle circuits, and a second weight based on the completioncapability of the components of the dynamic virtual destination node,combines the first and second weights, transforms the combined weightsin to proportions, combines the proportions resulting from suchtransformation with corresponding proportions used previously, and sendsto said switching element at said one of said origin nodes theproportions resulting from such combination, said switching elementupdating its said storage means with the newly-computed proportions forsubsequent use in distributing calls among the circuit groups of saidlink to said virtual destination node.
 27. A method as claimed in claim26, wherein the network processor means computes:the first weight W1_(g)for circuit group g as: ##EQU38## the second weight W2_(l),g for circuitgroup g of link l as: ##EQU39## the combined weight W_(l),g for circuitgroup g of link l as: ##EQU40## the proportion WP_(l),g for circuitgroup g of link l as: ##EQU41## and the combined proportion P_(l),g forcircuit group g of link l, combining the instant proportion and theprevious proportion, as:

    P.sub.l,g =WP.sub.l,g ·PWF+P'.sub.l,g ·(1-PWF),

where: CC_(c) is the completion capability reported by component c;C_(l),g is the component of a dynamic virtual destination node to whichcircuit group g in link l goes; G₁ is the set of the circuit groups oflink l; #G₁ is the number of circuit groups in link l; IC_(g) is thereported number of idle circuits on circuit group g; #L_(g) is thenumber of links that contain circuit group g; P'_(l),g is the previousproportion for circuit group g in link l; and PWF is the weightingfactor used for the computation of the proportions.
 28. A method asclaimed in claim 22, wherein said one of said switching elements derivescall completion rate information for its calls to said virtualdestination node and updates its proportions in dependence thereupon.29. A method as claimed in claim 28, wherein said switching element,when attempting to route a call using said link to said virtualdestination node, derives said call completion information by monitoringcircuit group overflows and Release With Cause signalling messagesattributable to factors remediable by the network.
 30. A method asclaimed in claim 29, wherein said one of said switching elements keeps,for said link to said virtual destination node, the variables:N: thenumber of circuit groups in the link (2 or more). LASTCG: the index inthe link of the last circuit group that had an overflow or Release WithCause message (1 to N). LASTOVF: the number of overflows and/or ReleaseWith Cause messages in a row for the circuit group with index LASTCG (1or more). CGCTR: the index in the link of the last circuit group thathad its proportion updated (1 to N); andwhen an attempt by said one ofsaid switching elements to route a call using a circuit group CG in saidlink to said virtual destination node results in an overflow or aRelease With Cause message specifying one of a predetermined set ofcauses, the switching element modifies the proportions for that link asfollows:
 1. If the index of circuit group CG is LASTCG then add 1 toLASTOVF; otherwise set LASTCG to the index of circuit group CG and setLASTOVF to
 1. 2. If the update is due to an overflow then:(a) Set MAXDEXto the minimum of LASTOVF% and the current proportion of circuit groupCG. Otherwise (the update is due to a Release With Cause message): (b)Set MAXDEC to the minimum of (LASTOVF% multiplied by N) and the currentproportion of circuit group CG.
 3. Subtract MAXDEC from the currentproportion of circuit group CG.
 4. Repeat MAXDEC times:(a) Add 1 toCGCTR; if CGCTR>N then set CGCTR to
 1. (b) If CGCTR=LASTCG then go backto step 4a. (c) Add 1% to the current proportion of the circuit groupwith index CGCTR.